import request from '@/utils/request'

//查询班级列表数据（带分页）
export const queryPageApi = (name, begin, end, page = 1, pageSize = 10) => 
  request.get(`/clazzs?name=${name}&begin=${begin}&end=${end}&page=${page}&pageSize=${pageSize}`)

//查询所有班级列表数据
export const queryAllApi = () => 
  request.get('/clazzs/all')

//新增班级
export const addApi = (clazz) => request.post('/clazzs', clazz);

//根据ID查询班级信息
export const queryInfoApi = (id) => request.get(`/clazzs/${id}`);

//修改班级信息
export const updateApi = (clazz) => request.put('/clazzs', clazz);

//删除班级
export const deleteApi = (id) => request.delete(`/clazzs/${id}`);

// 封装获取所有班级的方法（用于学员管理组件）
export const getAllClazzList = async () => {
  try {
    console.log('开始调用queryAllApi获取班级列表');
    const res = await queryAllApi();
    console.log('queryAllApi返回结果:', res);
    
    // 更灵活的响应处理，支持多种可能的成功码
    // 检查是否存在data属性且为数组
    if (res.data && Array.isArray(res.data)) {
      console.log('班级列表数据格式正确，长度:', res.data.length);
      return res.data;
    }
    // 检查是否直接返回了数组
    else if (Array.isArray(res)) {
      console.log('接口直接返回数组，长度:', res.length);
      return res;
    }
    // 记录其他情况的响应格式
    console.error('获取班级列表失败，返回数据格式异常:', res);
    return [];
  } catch (error) {
    console.error('获取班级列表异常:', error);
    return [];
  }
};